const tableMixin = {
  data() {
    return {
      tableData: [], // 表格数据
      tableTotal: 0, // 表格数据总数
      tableLoading: false, // 表格load
      pageNum: 1, // 当前页
      pageSize: 50, // 分页数量
      currentRow: null, // 当前选中表格行
      multipleSelection: [], // 表格多选
      pageSizes: [10, 20, 50, 100, 200],
    }
  },
  computed: {
    getStatusTextColor() {
      return function (status) {
        let className = status == '1' ? 'text-success' : status == '2' ? 'text-green' : status == '3' ? 'text-danger' : 'text-warning'
        return className
      }
    }
  },
  methods: {
    // 获取表格数据
    search() {
      // 在页面中重新定义
    },
    // 查询按钮，需重置pageNum为1，否则会有bug
    handleSearch() {
      this.pageNum = 1;
      this.search();
    },
    // 分页条数
    handleSizeChange(val) {
      this.pageNum = 1;
      this.pageSize = val;
      this.search();
    },
    // 当前页
    handleCurrentChange(val) {
      this.pageNum = val;
      this.search()
    },
    // 处理表格选中
    handleTableCurrentChange(row) {
      this.currentRow = row;
    },
    // 处理分页
    handlePagination(paging) {
      // console.log(paging)
      this.search();
    },
    // 表格多选
    handleSelectionChange(selectRow) {
      this.multipleSelection = selectRow;
    },
    // 单选表格。取消选中其它项，勾选点击项目
    handleTableRowClick(row) {
      // 先清空其它选项
      this.$refs.multipleTable.clearSelection();
      // 再选中点击项
      this.$refs.multipleTable.toggleRowSelection(row);
    },
    // 错误数据文件下载提示
    openDownFileAlert(errMsg, fileUrl) {
      this.$alert(`${errMsg}。点击【下载错误数据】按钮，下载查看错误数据！`, '提示', {
        confirmButtonText: '下载错误数据',
        callback: () => {
          this.$utils.exportExcel(fileUrl, {})
        }
      });
    }
  },
}

export {
  tableMixin
}